/**
*  
* @Function 区域资源关系处理 
* @ProjectName credit-data-platform 
* @PackageName com.py.credit.service    
* @FileName RegionRelationService.java    
* @Date 2018年6月1日上午9:34:30
* @Author Min DongXv
* @Copyright (c) 2018, 金电联行 All Rights Reserved.   
*   
*/  
package com.py.credit.service;

import java.util.List;
import java.util.Map;
import java.util.Set;

import com.py.credit.common.rest.RestServiceResult;
import com.py.credit.entity.AreaRelationEntity;
import com.py.framework.core.entity.SysAreaEntity;
import com.py.framework.core.entity.SysOfficeEntity;

/**
 * 
 * @Function 区域资源关系处理
 * @ClassName RegionRelationService
 * @Date 2018年6月1日 上午9:34:30
 * @Author Min DongXv
 * 
 */
public interface RegionRelationService {

	/**
	 * 
	 * @Function 组装区域资源信息
	 * @FileName AchievementCountService.java
	 * @MethodName dealRegionResource
	 * @param areas
	 * @return
	 * @Date 2018年5月30日 下午2:04:23
	 * @Author Min DongXv
	 *
	 */
	Map<Long, AreaRelationEntity> dealRegionResource(RestServiceResult<List<SysAreaEntity>> areaResult);

	/**
	 * 
	 * @Function 组装部门资源信息 返回部门资源一一对应关系
	 * @FileName AchievementCountService.java
	 * @MethodName dealDeptResource
	 * @param areas
	 * @return
	 * @Date 2018年5月30日 下午2:04:23
	 * @Author Min DongXv
	 *
	 */
	Map<Long, Set<String>> dealDeptResource(Map<Long, AreaRelationEntity> regionResources,
			List<SysOfficeEntity> deptResult);

	/**
	 * 
	 * @Function 组装区域ID和实体对应MAP
	 * @FileName AchievementCountService.java
	 * @MethodName getAllAreaMap
	 * @param areas
	 * @return
	 * @Date 2018年5月30日 下午2:04:23
	 * @Author Min DongXv
	 *
	 */
	Map<Long, AreaRelationEntity> getAllAreaMap(RestServiceResult<List<SysAreaEntity>> areas);

	/**
	 * 
	 * @Function 组装部门资源信息 返回部门对应资源list关系
	 * @FileName RegionRelationService.java
	 * @MethodName dealDeptResourceList
	 * @param regionResources
	 * @param deptResult
	 * @return
	 * @Date 2018年6月1日 上午11:20:03
	 * @Author Min DongXv
	 *
	 */
	Map<Long, List<String>> dealDeptResourceList(Map<Long, AreaRelationEntity> regionResources,
			List<SysOfficeEntity> deptResult);

}
